package com.hddisseny.hddelectric;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.TextView;

public class seccion extends Activity {
	int T_voltaje;
	int T_material;
	double Potencia_dada;
	double Longitud_dada;
	double Resultado;
	double Seccion;
	double Potencia;
	double Caida_tension;
	double Caida;
	double Resto;
	double Seccion_Final;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		// Establecemos la pantalla a fullscreen
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
				WindowManager.LayoutParams.FLAG_FULLSCREEN);

		// Mostramos el layout correspondiente
		setContentView(R.layout.seccion);

		// Recogemos el valor del boton
		Button BTT_ButonCalcular = (Button) findViewById(R.id.buttonCalcularSeccion);
		BTT_ButonCalcular.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {

				// Miramos el radioGroup del voltaje
				RadioGroup rBTTGroup_VoltajeGroup = (RadioGroup) findViewById(R.id.RadioGroupVoltaje);
				if (R.id.RadioButton230 == rBTTGroup_VoltajeGroup
						.getCheckedRadioButtonId()) {
					T_voltaje = 0;
				}
				if (R.id.RadioButton380 == rBTTGroup_VoltajeGroup
						.getCheckedRadioButtonId()) {
					T_voltaje = 1;
				}

				// Miramos el radioGroup del tipo de material
				RadioGroup rBTTGroupMaterialGroup = (RadioGroup) findViewById(R.id.radioGroupMaterial);
				if (R.id.radioCU == rBTTGroupMaterialGroup
						.getCheckedRadioButtonId()) {
					T_material = 0;
				}
				if (R.id.radioAL == rBTTGroupMaterialGroup
						.getCheckedRadioButtonId()) {
					T_material = 1;
				}

				// Recuperamos la potencia
				EditText ET_Potencia = (EditText) findViewById(R.id.editTextPotencia);
				Potencia_dada = Float.valueOf(ET_Potencia.getText().toString());

				// Recuperamos la longitud
				EditText ET_Longitud = (EditText) findViewById(R.id.editTextLongitud);
				Longitud_dada = Float.valueOf(ET_Longitud.getText().toString());

				// Recuperamos la caida de tension
				EditText ET_Caida = (EditText) findViewById(R.id.EditTextCaida);
				Caida_tension = Float.valueOf(ET_Caida.getText().toString());

				// Calculamos segun el voltaje dado
				switch (T_voltaje) {
				case 0: // 230
					Potencia = Potencia_dada * 230;
					Resultado = 2 * Potencia * Longitud_dada;
					if (T_material == 0) {
						Resto = Caida_tension * 230 * 56;
					} else {
						Resto = Caida_tension * 230 * 35;
					}
					Seccion = Resultado / Resto;
					break;

				case 1: // 380
					Potencia = Potencia_dada * 380;
					Resultado = 1.73205080757 * Potencia * Longitud_dada;
					if (T_material == 0) {
						Resto = Caida_tension * 380 * 56;
					} else {
						Resto = Caida_tension * 380 * 35;
					}
					Seccion = Resultado / Resto;
					break;
				default:
					break;
				}

				// Redondeamos para acercarnos a la seccion mas adecuada
				Seccion_Final = Math.round(Seccion);
				if (Seccion_Final >= 1 && Seccion_Final <= 2) {
					Seccion_Final = 1.5;
				}
				if (Seccion_Final >= 2 && Seccion_Final <= 3) {
					Seccion_Final = 2.5;
				}
				if (Seccion_Final >= 4 && Seccion_Final <= 5) {
					Seccion_Final = 4;
				}
				if (Seccion_Final >= 6 && Seccion_Final <= 8) {
					Seccion_Final = 6;
				}
				if (Seccion_Final >= 10 && Seccion_Final <= 14) {
					Seccion_Final = 10;
				}
				if (Seccion_Final >= 14 && Seccion_Final <= 20) {
					Seccion_Final = 16;
				}
				if (Seccion_Final >= 20 && Seccion_Final <= 30) {
					Seccion_Final = 25;
				}
				if (Seccion_Final >= 30 && Seccion_Final <= 40) {
					Seccion_Final = 35;
				}
				if (Seccion_Final >= 40 && Seccion_Final <= 60) {
					Seccion_Final = 50;
				}
				if (Seccion_Final >= 60 && Seccion_Final <= 80) {
					Seccion_Final = 70;
				}
				if (Seccion_Final >= 80 && Seccion_Final <= 110) {
					Seccion_Final = 95;
				}
				if (Seccion_Final >= 110 && Seccion_Final <= 140) {
					Seccion_Final = 120;
				}
				if (Seccion_Final >= 140 && Seccion_Final <= 165) {
					Seccion_Final = 150;
				}
				if (Seccion_Final >= 165 && Seccion_Final <= 210) {
					Seccion_Final = 185;
				}
				if (Seccion_Final >= 210 && Seccion_Final <= 270) {
					Seccion_Final = 240;
				}
				if (Seccion_Final >= 270 && Seccion_Final <= 320) {
					Seccion_Final = 300;
				}

				// Mostramos el resultado
				TextView textViewResultado = (TextView) findViewById(R.id.textViewResultado);
				textViewResultado.setText(String.valueOf(Seccion_Final + "mm2"));
			}
		});
	}

}
